export const PERMISSION_ENUM = {
  'add': {key: 'add', label: '新增'},
  'delete': {key: 'delete', label: '删除'},
  'edit': {key: 'edit', label: '修改'},
  'query': {key: 'query', label: '查询'},
  'get': {key: 'get', label: '详情'},
  'enable': {key: 'enable', label: '启用'},
  'disable': {key: 'disable', label: '禁用'},
  'import': {key: 'import', label: '导入'},
  'export': {key: 'export', label: '导出'}
}

function plugin(Vue) {
  if (plugin.installed) {
    return
  }

  !Vue.prototype.$auth && Object.defineProperties(Vue.prototype, {
    $auth: {
      // get () {
      //   const _this = this
      //   return (permissions) => {
      //     const [permission, action] = permissions.split('.')
      //     const permissionList = _this.$store.getters.roles.permissions
      //     return permissionList.find((val) => {
      //       return val.permissionId === permission
      //     }).actionList.findIndex((val) => {
      //       return val === action
      //     }) > -1
      //   }
      // }
      // 修改适配当前项目
      get() {
        const _this = this
        return (permission) => {
          const permissionList = _this.$store.getters.roles
          return permissionList.find((val) => {
            return val === permission
          })
        }
      }
    }
  })

  !Vue.prototype.$enum && Object.defineProperties(Vue.prototype, {
    $enum: {
      get() {
        // const _this = this;
        return (val) => {
          let result = PERMISSION_ENUM
          val && val.split('.').forEach(v => {
            result = result && result[v] || null
          })
          return result
        }
      }
    }
  })
}

export default plugin
